Method and apparatus for providing a virtual network function in a network

ABSTRACT

A method and apparatus for providing a virtual network function in a visited network are disclosed. For example, the method receives an attach request or a handover for a user endpoint device, determines a home network for the user endpoint device, receives a profile of the user endpoint device, determines a policy for providing a service to the user endpoint device in accordance with the profile, determines a set of virtual network functions needed for providing the service to the user endpoint device in accordance with the policy, grants the attach request or the handover, designates for each virtual network function of the set of virtual network functions that is needed for providing the service, a corresponding virtual network function for serving the user endpoint device at a location of the user endpoint device, and provides the service to the user endpoint device via the set of virtual network functions.

This application is a continuation of U.S. patent application Ser. No.15/135,092, filed on Apr. 21, 2016, now U.S. Pat. No. 10,721,680, whichis herein incorporated by reference in its entirety.

The present disclosure relates to a method and apparatus for providingvirtual network functions in a network, e.g., a wireless communicationsnetwork of a network service provider.

BACKGROUND

Supporting roaming subscribers (e.g., roaming user endpoint devices) inthe wireless telecommunications industry between various wirelessnetwork service providers are well established. Mobility management canbe used to locate the roaming mobile device in the visited network andto provide a method of authenticating and billing the roaming mobiledevice for connecting and using services provided by the visitednetwork. However, many challenges remain as the quality of serviceexperienced by a roaming subscriber may not be ideal or as expected.

SUMMARY

In one embodiment, the present disclosure provides a method,non-transitory computer-readable medium and apparatus for providing avirtual network function. For example, the method receives, via aprocessor of a visited network, an attach request or a handover for auser endpoint device, wherein the visited network is operated by a firstwireless service provider, determines, via the processor, a home networkfor the user endpoint device, wherein the home network is operated by asecond wireless service provider, receives, via the processor, a profileof the user endpoint device, determines, via the processor, a policy forproviding a service to the user endpoint device in accordance with theprofile of the user endpoint device, determines, via the processor, aset of virtual network functions needed for providing the service to theuser endpoint device in accordance with the policy for providing theservice, grants, via the processor, the attach request or the handover,designates, via the processor, for each virtual network function of theset of virtual network functions that is needed for providing theservice, a corresponding virtual network function for serving the userendpoint device at a location of the user endpoint device, and provides,via the processer, the service to the user endpoint device via the setof virtual network functions that is designated.

BRIEF DESCRIPTION OF THE DRAWINGS

The teaching of the present disclosure can be readily understood byconsidering the following detailed description in conjunction with theaccompanying drawings, in which:

FIG. 1 illustrates an example network related to the present disclosure;

FIG. 2 illustrates an example network with virtual network functionsrelated to the present disclosure;

FIG. 3 illustrates a flowchart of an example method for providingvirtual network functions in accordance with the present disclosure;

FIG. 4 illustrates a flowchart of an example method for providingvirtual network functions and performing modifications in accordancewith the present disclosure; and

FIG. 5 depicts a high-level block diagram of a computer suitable for usein performing the functions described herein.

To facilitate understanding, identical reference numerals have beenused, where possible, to designate identical elements that are common tothe figures.

DETAILED DESCRIPTION

The present disclosure relates to a method and apparatus for providing avirtual network function in a network of a communications networkservice provider (broadly a network service provider). The teachings ofthe present disclosure can be applied for any type of wireless networks,e.g., 2G, 3G, Long Term Evolution (LTE), etc.

As popularity of wireless mobility grows, users are getting more andmore reliant on their wireless service provider to provide a variety ofservices, e.g., telephony services, data services, multimedia deliveryservices, etc. For example, the users may travel outside a serving areaof their wireless service provider, e.g., to another country, and maywish to continue accessing services to which they have subscribed. Thus,network operators may enter into partnership agreements to allow usersto gain access to services while roaming. However, the partnershipagreements are often limited. The “visited network” (e.g., a network notoperated by the user's network service provider) may accept, modify orreject a Quality of Service (QoS) that is authorized by a “home network”(e.g., a network operated by the user's network service provider) of theuser. For an illustrative example, suppose a user is a subscriber of apremium data service with a high QoS from a wireless service provider A.Suppose the user is roaming in an area covered by a wireless serviceprovider B. Then, for the user, the home network is the network ofservice provider A and the visited network is the network of the serviceprovider B. The visited network may reject the high QoS and provide theuser with a data service having a lower QoS than the high QoS from thewireless service provider A.

In another example, the user may continue to receive most services viahis/home network while gaining Internet access via a local breakoutprovided by the visited network. For instance, suppose the user maydecide to make a voice call while roaming outside of the user's homenetwork. The control and user plane data may transition out of thevisited network to the home network. For example, the operators of thehome and visited networks may use Internetwork Packet Exchange (IPX)services to transition the control and user plane data between them.Unfortunately, the exchange of control and user plane data may causesignificant latency and jitter. The latency and jitter may impactperformances of various applications. For example, services that areinteractive are susceptible to latency and jitter. Some examples ofapplications that are not resilient to latency and jitter problems arevoice applications, multimedia applications, gaming applications, andthe like. The user may eventually become dissatisfied with the QoSprovided while accessing such applications during a roaming scenario.The wireless service provider may then experience churn due todissatisfaction with the subscribed services.

In one embodiment, the present disclosure provides a method, a computerreadable medium and an apparatus for providing virtual network functionsin a visited network that are based on agreements between the operatorsof the home network and the visited network. The virtual networkfunctions of the present disclosure may be dynamically instantiated invirtual or physical network components of the visited network. As such,the roaming user may then access the applications described above viathe instantiated virtual network functions in a visited network. In oneembodiment, the instantiated virtual network functions are provided inthe visited network solely for supporting the roaming subscribers of thehome network.

In other words, in a virtualized network functions architecture, avirtualized network function (VNF), is responsible for handling specificnetwork functions that operate in one or more virtual machines on top ofthe hardware networking infrastructure, which can include hardwarecomponents such as routers, switches, application servers, cloudcomputing systems, and the like. A series of VNFs can be chainedtogether to provide a more complex service or a group of such services.One aspect of a VNF is the ability to scale up and down dynamically asnecessary through dynamic instantiation as discussed further below.

In one embodiment, the virtual network functions are instantiated in avirtual component of the visited network. Then, the virtual component ofthe visited network may itself be instantiated in a physical networkcomponent. That is, the virtual network functions are provided, directlyor indirectly, over some physical network element of the visitednetwork, e.g., over an element that is tangible (i.e., perceptible to asense of touch).

FIG. 1 illustrates an example network 100 related to the presentdisclosure. The network 100 comprises Public Land Mobile Networks(PLMNs) 101-102, radio access networks 103-106, user equipment or userendpoint (UE) devices 111-112, network operator's Internet Protocol (IP)based services 107-108, and an orchestrator or unified ElementManagement System (EMS) 141. In one example, a Public Land MobileNetwork (PLMN) refers to a network operated by a single operator ornetwork service provider.

The radio access networks 103 and 104 may comprise a UniversalTerrestrial Radio Access Network (UTRAN) and a Global System for MobileCommunication (GSM) Edge Radio Access Network (GERAN), respectively. Theradio access networks 105 and 106 may comprise evolved UniversalTerrestrial Radio Access Networks (eUTRANs). In one illustrativeexample, the eUTRAN, e.g., eUTRAN 105 or 106, may comprise one or moreeNodeBs.

UE 111 or 112 can be a mobile endpoint device, e.g., a smart phone, acellular phone, a laptop, a computing tablet, or any endpointcommunication devices equipped with wireless capabilities, e.g., adesktop computer, a set top box, a television, a digital media player,and the like. In operation, UE 111 or 112 may access wireless servicesvia a radio access network. For simplicity, the present disclosuredescribes UEs 111 and 112 accessing services via an eNodeB, e.g., eNodeB109 in the eUTRAN 105 or eNodeB 110 in the eUTRAN 106. The eNodeBs inthe eUTRAN 105 are connected to a PLMN 102. The eNodeBs in the eUTRANs106 are connected to a PLMN 101. The eNodeBs provide wireless interfacesto one or more UE devices. It should be noted that any number of eNodeBscan be deployed. If a UE is moved to an area covered by another type ofaccess network, e.g., to an area near a cell site of UTRAN 103 or GERAN104, the UEs may access services via a Serving GPRS (General PacketRadio Service) Support Node (SGSN) 136.

The PLMNs 101 and 102 comprise network functions for providing networkservices to users. For example, PLMN 101 may comprise a MobilityManagement Entity (MME) 121, a Home Subscriber Server (HSS) 122, aServing-Gateway (S-GW) 123, a Packet Data Network-Gateway (P-GW) 124, aPolicy and Charging Rule Function (PCRF) 125, a Domain Name Server (DNS)126. Similarly, PLMN 102 may comprise a MME 131, a HSS 132, a S-GW 133,a P-GW 134, a PCRF 135, and a DNS 136.

MMEs 121 and 131 are the control nodes for the eUTRANs 106 and 105,respectively. The eUTRANs 105 and 106 are LTE based radio accessnetworks. The MME is responsible for UE (User Equipment) tracking andpaging (e.g., such as retransmissions), bearer activation anddeactivation process, selection of the S-GW, and authentication of auser.

The MME, e.g., MME 121 or 131, manages mobility fora pool of accessnetwork components (e.g., eNodeBs) serving a geographical area and isaware of UEs and their respective locations that are roaming in thegeographical area. For instance, the MME may be controlling the cellsite serving the UE. Thus, the MME is aware of the roaming user throughany standard mobility procedure, e.g., attach, handover, update, and thelike. The standard mobility procedure may be for an initial attach,request for a Globally Unique Temporary Identifier (GUTI) assignment,Packet Data Network (PDN) setup, Tracking Area Update (TAU), inter MMEpool X2 or S1 interface based handover (HO), and the like. The userendpoint device is assigned the GUTI during an initial attach procedure.

HSSs 122 and 132 contain subscription-related information (e.g.,subscriber profiles), perform authentication and authorization of awireless service user, and provide information about the subscriber'slocation. S-GWs 123 and 133 are responsible for routing and forwardinguser data packets, while also acting as the mobility anchor for the userplane during inter-eNodeB handovers and as the anchor for mobilitybetween LTE and other wireless technologies, such as 2G and 3G wirelessnetworks. Each of the P-GWs 124 and 134 serves as a gateway forproviding access between the network in which it is located and variousdata networks, e.g., other IP network 107 or 108. PCRF 125 and 135support access to subscriber databases and specialized functions of acharging system. DNSs 126 and 136 are responsible for address resolutionof domain and host names into IP addresses, as well as locatingresources on the internet for networks 101 and 102, respectively.

The orchestrator or unified EMS 141 is tasked with managing aninfrastructure of a network. The orchestrator or unified EMS mayprovision services on both physical and cloud based network components.In one embodiment, the cloud based network comprises standard cloudbased infrastructure elements. For example, the cloud basedinfrastructure elements may comprise one or more of: an X86 computerserver, a top of the rack switch, an external storage, a controller, andan orchestrator or a unified Element Management System (EMS). Inaddition, the orchestrator or unified EMS 141 ties the various physicaland network infrastructure components to one or more Operations SupportSystem (OSS) platforms. The cloud based infrastructure may also includea database (e.g., deployed in a server) containing one or moretemplates. In one embodiment, the one or more templates are forinstantiating one or more virtual network functions, e.g., a vMME, avSGW, a vPGW, a vDNS, and a vPCRF.

FIG. 1 also indicates various data bearer paths or signaling bearerpaths. The various data bearer paths may be referred to by specificlabels. For example, the data bearer path may be S1-U, S5 or S8. Inanother example, the signaling bearer path may be an S1-MME bearer path.Note that the data bearer paths and their respective interfaces aredefined by the 3GPP standard. It should be noted that the presentdisclosure is not limited to these specific interfaces. As such, thedata bearer paths and interfaces shown in FIG. 1 are not intended tolimit the present disclosure.

To better understand the current invention, the following terminologywill first be provided:

-   -   A Home PLMN;    -   A Visited PLMN; and    -   A Virtual Network Operator (MVNO) or a Mobile Other Licensed        Operator (MOLO).

A home PLMN (HPLMN) refers to a PLMN of an operator from whom the usersubscribes to services. For example, if a user who lives in New YorkCity subscribes to services from a network operator X who providesservices via its own network elements or devices in New York City, theuser is said to be using an HPLMN when attached to an access point(e.g., cell, Wi-Fi access point) operated by operator X.

A visited PLMN (VPLMN) refers to a PLMN, wherein a user is roaming,e.g., outside an area served by the HPLMN, and is using resources in anetwork of an operator Y, wherein the user does not subscribe toservices from the operator Y. For example, if the user subscribes toservices from operator X and is roaming an area covered by operator Y,then the user is said to be using a VPLMN when attached to an accesspoint of operator Y.

A Mobile Virtual Network Operator (MVNO) or a Mobile Other LicensedOperator (MOLO) refers to a wireless communications service providerthat does not own wireless network infrastructure over which servicesare to be provided to subscribers.

Returning to the illustrative example above, suppose UE 111 belongs to auser who subscribes for wireless service from wireless service providerA, wherein the home network for UE 111 is PLMN 101 and another serviceprovider B is the operator of PLMN 102. If UE 111 is roaming andattaches to eNodeB 109, then PLMN 102 would then be a visited networkfor UE 111. Then, for UE 111, PLMN 102 may be referred to as VPLMN, andPLMN 101 may be referred to as the HPLMN.

In operation, when the user is roaming, the UE device of the userattaches to an access point (e.g., a cell) of a VPLMN and uses resourcesof the visited network. The resources that are accessed while roamingmay be any type of network function needed for receiving one or moreservices to which the user subscribes. For example, the user may be asubscriber to services that comprise one or more of: a voice service, adata service, a multimedia messaging service, a video service, a gamingservice, etc. The user may be entitled to receive all or some serviceswhile roaming. For example, the user may be able to access all servicesexcept gaming. Then, the resources used in the visited network maycomprise serving gateways, packet data network gateways, domain nameservers, etc.

A wireless service provider may have several data centers, e.g.,throughout a region, a nation, etc. In addition, there may be any numberof MVNOs, MOLOs and other wireless service providers with no coverage inthe region, the nation, etc. However, the MVNOs, MOLOs and otherwireless service providers may have subscribers who roam throughout theregion, the nation, etc. Each MVNO, MOLO and other wireless serviceproviders may then wish to have access to instances of virtual networkfunctions in a visited network of a wireless service provider which hasphysical infrastructures in the region, the nation, etc. In oneembodiment, a “visited” wireless service provider may enter into anagreement with any number of other wireless service providers forproviding the virtual network functions. For the example describedabove, the “home” wireless service provider A may enter into anagreement with a “visited” wireless service provider B that has anaccess network in the geographical area to enable subscribers ofwireless service provider A to roam in the geographical area covered bythe wireless service provider B. For example, the roaming is to beprovided via virtual network functions of the wireless service providerA that are instantiated in the visited network of the wireless serviceprovider B.

Then, for each MVNO, MOLO, or other wireless service providers with whomthe visited wireless service provider (e.g., broadly a first wirelessservice provider) has entered into an agreement, the visited wirelessservice provider may allow the instantiation of one or more virtualnetwork functions in accordance with a respective agreement. Thecollection of virtual network functions instantiated for a particularwireless service provider (e.g., a particular “home” (broadly a second)wireless service provider) may be referred to as a cloud network of theparticular wireless service provider. Each cloud network comprises anynumber of virtual network functions. For example, the virtual networkfunctions in a cloud network may comprise one or more of: a virtual MME(vMME), a virtual S-GW (vSGW), a virtual P-GW (vPGW), a virtual DNS(vDNS), a virtual PCRF (vPCRF), and the like.

The wireless service provider continues to monitor network conditionsand conditions of all virtual network functions that are instantiated.For instance, if an existing vMME, vSGW, or vPGW, is close to beingexhausted in terms of its ability to serve more visiting UEs in an area,a new VNF may be instantiated. Then, a UE roaming in the visited networkmay be provided with a service via either a newly instantiated or anexisting VNF. For an illustrative example, a new vSGW and an existingvPGW may be used to provide the service to the roaming UE. In otherwords, the existing serving gateway may not have adequate capacity toserve the roaming UE while the existing virtual packet data networkgateway has capacity to serve the roaming UE. The need for instantiatinga new virtual network function is determined individually for each typeof network function needed to provide services to the roaming UE.

In one embodiment, the agreement may include that the “visited” wirelessservice provider provides the virtual network functions in accordancewith a policy for providing a virtual network function received from ahome network of the UE device. In one embodiment, the policy forproviding the one or more virtual network functions comprises one ormore of: a parameter for triggering an instantiation of a new virtualnetwork function, a parameter for triggering a modification of anexisting virtual network function, a threshold for triggering aninstantiation of a new virtual network function, a threshold fortriggering a modification of an existing virtual network function, aparameter to be provided to a network element that performs anorchestration of virtual network functions, and a threshold to beprovided to a network element that performs an orchestration of virtualnetwork functions. The network element that performs the orchestrationof virtual network function may be an orchestrator or a unified EMS.

For an illustrative example, the policy received from an MVNO may be toinstantiate a new virtual S-GW if more than 10 subscribers of the MVNOare attached to the visited network at a location of an access point.Then, the parameter may be a number of roamers of the MVNO associatedwith a same access point. The threshold for the parameter of the numberof roamers may be set to 10. For example, if 11 subscribers of the MVNOsend an attach request via the same access point, e.g., a particularcell site or Wireless-Fidelity (Wi-Fi) Access Point (Wi-Fi AP), the“visited” wireless service provider may instantiate a new virtual S-GWfor the MVNO. The MME may also dynamically send the number of roamerswho are currently being serviced to the orchestrator as an update, e.g.,on a per virtual network function basis.

In one example, the orchestrator may have access to the various agreedupon policies as to how and when a virtual network function will beinstantiated or modified. In other words, the various parameters andassociated thresholds are made available to the orchestrator, therebyallowing the orchestrator to coordinate the instantiation ormodification of one or more virtual network functions in the visitednetwork.

For example, the same type of virtual network function may also havedifferent capabilities and requirements, e.g., a “small” virtual S-GWversus a “large” virtual S-GW. Such relative terms of “large” and“small” are only intended to illustrate that there may be granularity asto the capabilities and requirements for each type of virtual networkfunction. For example, a “small” virtual S-GW is intended to service nomore than 10 roamers, whereas a “large” virtual S-GW is intended toservice up to 100 roamers. The use of the threshold values of 10 and 100are only illustrative. In one embodiment, the purpose of having suchgranularity may relate to the cost and availability of the underlyingnetwork resources that the visited network will need to provide insupporting the numerous virtual network functions. A “small” virtualnetwork function may cost less for the home wireless service provider inproviding a level of service to its roaming subscribers while on avisited network without consuming a large amount of processing resourcesof the visited network. In contrast, a “large” virtual network functionmay cost more for the home wireless service provider because it mayconsume a larger amount of processing resources of the visited network.Thus, by providing the orchestrator with up-to-date information as tothe parameters and various thresholds, e.g., as to the number of roamingUEs that are currently being serviced in the visited network on a pervirtual network function basis, it will allow a more efficientmanagement of cost and network resources for both the home wirelessservice provider and the visited wireless service provider.

In one embodiment, the agreement may also specify that the visitedwireless service provider will provide a service to a roaming UE withthe same level of service that the roaming UE would have received from ahome network of the roaming UE. For example, the policy may include anindication as to how traffic to and from the roaming UE is to betreated, e.g., the level of service to be applied to the traffic of theroaming UE such as transmission rate level, delay level, error ratelevel and/or any other measurable network based characteristics that canbe guaranteed in advance. In one embodiment, the indication is based onone of more of: a type of user (e.g., a user who subscribed to a premiumservice, a standard service, a basic service, etc.), a type of service(e.g., data service, voice service, multimedia delivery service, etc.),a QoS requirement, and the like.

In one embodiment, the policy for providing the instantiation of avirtual network function in a visited network and/or the policy for theservice to be provided in the visited network may be stored in a centralrepository. For example, the operator of the visited network may have anagreement with any number of other network operators. For each agreementwith another network operator, a respective policy may be formulated andstored in the central repository.

In one embodiment, the policy for providing the virtual network functionand/or the policy for the service may be at an International MobileSubscriber Identity (IMSI) series level, at a PLMN level, at an accesspoint name (APN) level. In one embodiment, the policy for providing thevirtual network function may comprise a plurality of policies, whereeach policy of the plurality of policies is established for a range of anumber of concurrently attached subscribers. For example, a first policymay apply for up to 10 concurrently attached roaming subscribers to asame VNF (or VNFs), a second policy may apply for the next 11-50concurrently attached roaming subscribers, a third policy may apply forthe next 51-500 concurrently attached roaming subscribers, and so on.

In one embodiment, the policy for providing the virtual network functionand/or the policy for the service may be based on one or more attributesof the service accessed by a roaming user while roaming. For example,the attributes of a Voice over LTE (VoLTE) service, a messaging service,a data service, a multimedia service, etc. received while roaming may beused to determine applicable policies. In one embodiment, the policy forproviding the virtual network function and/or the policy for the servicemay be based on one or more attributes of a combination of servicesaccessed by the roaming user. For example, a policy may apply forroaming users who access only voice services while roaming, and anotherpolicy may apply for roaming users who access both multimedia and voiceservices while roaming.

In one embodiment, the policy for providing the virtual network functionand/or the policy for the service received from another wireless serviceprovider are configurable in a network element tasked with managingmobility in a visited network. For example, policies received from anMVNO may be provided to an MME of the visited network via usage ofAccess Point Name (APN), e.g., using a Mobile Subscriber Identity NameServer Access Point Name-Operator Identifier (IMSI NS APN-OI)replacement. The APN-OI replacement indicates a domain name to replacethe APN-OI with when constructing a P-GW Fully Qualified Domain Name(P-GW FQDN) upon which to perform a Domain Name Server (DNS) resolution.The replacement applies for all access point names in a profile of auser.

For example, the visited wireless service provider may receive an updateto an existing policy for providing the virtual network function or anexisting policy for the service from another network, e.g., from a homenetwork of a roaming UE. For example, an operator of an MVNO may changea policy on how a class of its subscribers should be treated when thisclass of subscribers roam in the visited network.

In one embodiment, for each operator (e.g., an MVNO operator), the MMEof the visited network sets up one or more triggers for providing one ormore VNFs based on a policy that is defined and received from theoperator. For example, the policy may include a trigger forinstantiating a new VNF, a trigger for modifying a size of an existingVNF, and so on.

In one embodiment, the MME of the visited network monitors the VNFs andthe registered UE devices. The monitoring may be used to gatherinformation regarding movements of UEs (e.g., handovers, attachments,detachments, service requests, bearer establishments, and the like),policy updates from operators (e.g., from MVNOs), changes to profiles ofuser (e.g., update received from HSSs of other operators), updates toPolicy and Charging Rule Function (PCRF), etc. The MME then determineswhether there is a need for: adding a new instance of a VNF, modifyingan existing VNF (e.g., to a smaller or a larger size), deleting anexisting VNF, or modifying the treatment of traffic to and from aroaming UE. The monitoring and making adjustments in the network areperformed dynamically as roaming UEs enter the coverage area of thevisited network operator, access services while roaming, and then detachwhen existing the coverage area of the operator.

When a UE sends an attach request to an MME via a cell or access pointof a VPLMN, the MME of the VPLMN receives the attach request. The MME ofthe VPLMN then identifies the HPLMN of the UE and receives a profile ofthe UE. In one embodiment, the profile is received by sending a query tothe HPLMN of the UE. For example, the query may be sent to an HSS of theHPLMN. In one embodiment, the sending of the profile may be part of theagreement between the VPLMN and the HPLMN.

When the profile is obtained by sending a query to the HPLMN, the MME ofthe visited network determines whether the profile is received. In oneembodiment, the received profile for the UE will indicate a list of oneor more services that the UE may access while roaming. In oneembodiment, if the profile is not received, the MME may select a defaultprofile for the UE. For example, the agreement between the wirelessservice providers may include a default profile to be used when aprofile is not obtained for a roaming UE. In another embodiment, if theprofile is not received, the MME may opt to deny the attach request.

The MME then proceeds to determine a corresponding policy to apply inproviding one or more services to the UE. In one embodiment, the MME maydetermine the policy by dynamically communicating with a server of thehome network, e.g., a Home Subscriber Server (HSS) of a home network ofthe UE. For example, the profile indicating which services the UE mayreceive while roaming and/or conditions for each service (e.g.,applicable QoS, limits (e.g., data rate, minutes of use, time of dayrestrictions), and the like) may have been received from a server of thehome network of the UE. Then, the MME may determine the policy inaccordance with the profile and/or conditions for each service that arereceived from the server of the home network of the roaming UE.

In another example, a default profile may have been selected for the UE.The MME may then determine the appropriate policy established for UEshaving a default profile. For instance, the operators of the visitednetwork and the home network of the UE may have agreed to provide aparticular quality of service and a selected subset of services toroaming UEs attached to the cell of the visited network with a defaultprofile.

In one embodiment, the MME may determine the policy for providing one ormore services to the roaming UE from a profile of an access point name.For example, an APN may have a profile that is associated with the APN,wherein the profile associated with the APN indicates that InternetProtocol Multimedia Subsystem (IMS) APN with VPLMN is allowed for theUE.

The MME then determines one or more VNFs that are needed for providing aservice to the UE in accordance with the profile. For example, the MMEmay determine that a vSGW and a vPGW are needed for providing theservice to the UE. For each VNF, the MME determines if an existing VNFmay serve the UE. For instance, the MME may determine whether anexisting vSGW has the capacity to serve the roaming UE at the currentlocation of the roaming UE. Similarly, the MME determines if an existingvPGW can serve the UE. Thus, the MME makes a determination as to whichnetwork functionalities can be provided via an already instantiated VNF.If a threshold is reached for a number of UEs being served by anexisting VNF, then the MME may need to instantiate a new VNF or modify asize of an existing VNF. If the existing virtual network function isavailable to serve the UE, a threshold or trigger for instantiating anew VNF will not be reached.

For the example above, suppose the UE is associated with a user whosubscribed to a wireless service from a network operator A. In addition,suppose the user is traveling with the UE and is now located in New YorkCity and that the network operator A does not have an access network inNew York City. The user then has to roam in order to gain access towireless services. When the user turns on the UE, the UE communicateswith an MME that manages mobility for cells and/or access points in NewYork City for attaching to a network of an operator, e.g., an accesspoint of network operator B. Then, the MME operated by network operatorB determines if a threshold is reached for triggering instantiation ofVNFs (e.g., vSGW, vPGW, vDNS, etc.) for network operator A in New YorkCity. For instance, there may be a VNF capacity in another region of theUnited States for network operator A. However, the user is now in NewYork City. Thus, the need to instantiate VNFs or change the sizes ofexisting VNFs is determined in view of the current physical location ofthe UE. That is, the determining of whether a threshold is reached forinstantiation of a new VNF or modifying a size of an existing VNF isbased on the geographical location of the user endpoint device, thepolicy for providing the service, and the policy for providing thevirtual network function received from the home network of the roaminguser endpoint device.

As the example above illustrates, in one scenario services may beprovided to the UE without a need to instantiate new VNFs. The one ormore existing VNFs may still have adequate capacity to serve the newroaming UE that is being attached. In another scenario, there may be aneed to create a new instance of a VNF, e.g., a new vSGW and/or a newvPGW, for network operator A at the location. In another scenario, theremay be a need to modify a size of an existing VNF. For instance, aprevious instance of a vSGW may have been created to handle a maximum ofn UEs and the current attach request or handover may be for UE numbern+1. Then, a larger vSGW that can handle more roaming UEs may be neededand a size of a previously instantiated vSGW may be modified to a largersize.

In one embodiment, the location of the UE may be determined via anotherprocedure. For example, the user may be located in a venue, e.g., astadium, an arena, and the like, known by the wireless service provider.The UE of the user may communicate via an access point associated withthe venue. The wireless service provider may then assume the location asbeing the venue.

When the threshold for triggering the instantiation of the VNF and/ormodify the size of an existing VNF is reached at the location of the UE,the MME may send a request to a unified EMS or an orchestrator, whereinthe request is for instantiating one or more VNFs or modifying one ormore existing VNFs in accordance with the threshold. For example, arequest for instantiating a new vSGW, a new vPGW, or the like, may besent. In another example, a request for changing a size of an existingvSGW, vPGW, or the like, may be sent. For example, a larger VNF maysuffice.

In one embodiment, the orchestrator or unified EMS determines a size anda template for a VNF that is to be instantiated. For example, theorchestrator or unified EMS may be provided with any number of templatesfor creating the VNF. The orchestrator or unified EMS may also beprovided with policies for selecting an appropriate template.

In one embodiment, the templates are based on one or more of: policiesreceived from the home network operator, and a network condition of thevisited network. For example, the policy received from the home networkoperator may indicate creating a small VNF when less than tensubscribers of the home network operator attach to a same cell or accesspoint. In another example, the size of the VNF may be based onconcurrent attach requests. In another example, the size of the VNF maybe based on a grade of service (e.g., a basic service versus a premiumservice).

The orchestrator or unified EMS then instantiates the one or more VNFsand/or modifies the size of the one or more existing VNFs. Theorchestrator or unified EMS then informs the MME that the one or moreVNFs are instantiated and/or the sizes of the one or more existing VNFsare modified.

The MME then designates a set of VNFs for serving the roaming UE. EachVNF in the set may be a VNF that is newly instantiated or an existingVNF. For example, if the VNFs needed to serve the UE include a SGW and aPGW, then a newly instantiated vSGW and a newly instantiated vPGW may bedesignated, a newly instantiated vSGW and a modified vPGW may bedesignated, a modified vSGW and a newly instantiated vPGW may bedesignated, or a modified vSGW and a modified vPGW may be designated. Inother words, any combinations of newly instantiated or modified VNFs canbe designated for serving the roaming UE.

The MME then initiates updates to DNS servers, Naming Authority Pointer(NAPTR) records, etc. For example, an Access Point Name Domain NameServer (APN DNS) NAPTR record may be updated to point the APN to thenewly instantiated or modified VNF. For instance, based on the APN andtracking area code, the newly instantiated or modified VNFs may bedesignated to serve the UE. Then, the designated VNFs are selected usinga DNS NAPTR longest label matching procedure. Traffic (e.g., VoLTE ordata) may be directed to and from the roaming UE via the newlydesignated VNF (or VNFs).

Subsequently, the UE may move from a coverage area of the VNFs that arewithin a purview of an MME through which the UE was initially grantedaccess, to another coverage area of VNFs that are within the purview ofanother MME. The handover may be performed in a coordinated manner toallow the UE to continue accessing services at the new location. When aUE is no longer being served by the VNFs, an entry to the NAPTR recordmay be deleted. Thus, as UEs move out of an area, the MME invokes aprocedure to update records (i.e., to clean relevant records).

FIG. 2 illustrates an example network 200 with illustrative virtualnetwork functions related to the present disclosure. The network 200 issimilar to the network illustrated in FIG. 1. However, the operator ofnetwork 102 has an agreement with the operator of network 101 to provideVNFs for roamers who subscribe to services from the operator of network101. For example, network 102 of the VPLMN comprises a vMME 231, a vSGW233, a vPGW 234, a vDNS 236, and a vPCRF 235 that are instantiated forthe operator of PLMN 101. If the user of UE 111 travels to an areacovered by eNodeB 109, the MME 131 receives an attach request from UE111. MME 131 may then determine that UE 111 is associated with PLMN 101.MME 131 may communicate with HSS 122 to receive a profile for UE 111.Once the services that may be accessed by UE 111 are determined, MME 131determines if the VNFs that are already instantiated for the operator ofPLMN 101 at the current location of UE 111 may serve UE 111. If theexisting VNFs can provide the service, UE 111 is granted the attachmentand the existing VNFs are designated by MME 131 to serve the UE.However, if one or more existing VNFs cannot serve the UE (e.g., vSGW233 has reached its limit), a new vSGW may be instantiated via theorchestrator 141. The new vSGW may then be designated to serve UE 111.The MME 131 continues to monitor all the VNFs that are instantiated forthe operator of network 101 and all registered UEs. If a movement ofUEs, handovers, etc., makes a modification necessary, the MME 131 willorchestrate the modification via the orchestrator 141.

The method of the present disclosure provides several advantages. Asdescribed above, the present disclosure provides a method for emulatinga home network environment of a UE in a visited network by dynamicallyinstantiating virtual network functions in the visited network whileaccounting for network conditions and the profile of the UE. In otherwords, the present disclosure provides a software defined network thatspans networks of multiple operators. The visited network learns aboutthe UE either during an attach procedure or a handover procedure. Thevisited network dynamically monitors its network resources (includingall the instantiated virtual network functions) and all registeredroaming UE devices. Based on network conditions, e.g., a number of UEsattached to an access point (e.g., a cell), movement of UEs within thevisited network, types of services being accessed, etc., the controllerof the visited network (e.g., the MME) may dynamically make adjustmentsto instantiate one or more new VNFs for the home network, modify one ormore existing VNFs for the home network, combine two or more existingVNFs for the home network, delete one or more existing VNFs for the homenetwork, etc., as needed. The instantiating, modifying, combining,and/or deleting are triggered by the controller (e.g., the MME) bysending a request to an orchestration engine, e.g., orchestrator 141.The orchestration engine is provided with templates for performing theinstantiating, modifying, combining, and/or deleting. The orchestrationengine then replies to the controller indicating whether the requestedinstantiating, modifying, combining, and/or deleting are performed. Thecontroller, e.g., MME, may then designate the appropriate VNFs forproviding services to the roaming UE. The DNS and NAPTR records areupdated such that traffic directed to and from the roaming UE traversesthe visited network through the newly designated vSGW and vPGW. Thus,the method of the present disclosure enables the roaming UE to receive aservice as if the roaming UE is accessing services directly from thehome network. For example, the QoS while roaming in the visited networkmay be similar to the QoS while using the home network.

FIG. 3 illustrates a flowchart of an example method 300 for providingvirtual network functions in accordance with the present disclosure. Inone embodiment, the method 300 may be implemented in a controller of avisited network of a wireless service provider, e.g., an MME, or theprocessor 502 as described in FIG. 5. The method 300 starts in step 305and proceeds to step 310.

In step 310, the processor, receives an attach request or a handover fora user endpoint device by a visited wireless service provider of avisited network that will be providing a service for the roaming userendpoint device.

In step 315, the processor, determines a home network for the roaminguser endpoint device. For example, the visited wireless service providermay be providing virtual network functions for any number of otherwireless service providers. Then, the processer needs to determine whichone of the other wireless service providers is the home network for thecurrent roaming user endpoint device.

In step 317, the processor, receives a profile associated with theroaming user endpoint device. In one example, the profile may bereceived from an HSS of the home network. In another example, a defaultprofile may be received from a server, e.g., a database server used tostore profiles.

In step 320, the processor, determines a policy to be applied forproviding a service to the roaming user endpoint device in accordancewith the profile of the roaming user endpoint device. In one example,the policy may be to allow the user to access all services while roamingand the manner in which the services will be accessed.

In step 325, the processor, determines a set of one or more virtualnetwork functions needed for providing a service to the roaming userendpoint device in accordance with the policy for providing the servicethat is determined. For example, the set of VNFs may include a vSGW, avPGW, a vDNS, etc.

In optional step 327, the processor, determines for each virtual networkfunction of the set of virtual network functions that is needed forproviding the service, whether an existing virtual network function isavailable for providing the service to the roaming user endpoint deviceat a location of the roaming user endpoint device. For an illustrativeexample, an existing vPGW may be able to serve the UE, a new vSGW mayneed to be instantiated to serve the UE, and an existing vDNS server mayneed to be expanded to a larger size to serve the UE, etc. If noexisting VNF is determined as being available, the method 300 proceedsto step 330. Otherwise, the method 300 proceeds to step 335.

In optional step 330, the processor, instantiates a new virtual networkfunction or modifies an existing virtual function for each virtualnetwork function of the set of virtual network functions that is neededfor providing the service, when a corresponding existing virtual networkfunction is determined as being unavailable. For the example describedabove, the new vSGW may be instantiated and the existing vDNS server maybe modified. It should be noted that optional steps 327 and 330 can bedeemed as examples as to how step 325 is implemented in variousembodiments. In other words, these optional steps illustrate how method300 selects the set of VNFs to support the roaming UE.

In step 335, the processor, grants the attach request or enables thehandover. For example, the processor may reply to the roaming userendpoint device granting an attachment to an access point, e.g., aneNodeB.

In step 340, the processor, designates for each virtual network functionof the set of virtual network functions that is needed for providing theservice, a virtual network function for serving the roaming userendpoint device at the location of the roaming user endpoint device. Forexample, the existing vPGW, the newly instantiated vSGW and the newlyexpanded vDNS may be designated as being the VNFs to serve the roamingUE at the current location of the roaming UE.

In step 345, the processor, provides the service to the roaming userendpoint device via the set of virtual network functions that isdesignated. For example, voice and data services may have been in theprofile obtained for the roaming user. Thus, newly designated VNFs maybe used to direct voice and data traffic to and from the roaming UE.

In optional step 350, the processor, determines if a request for anupdate is received from the home network, wherein the request is forupdating the policy for providing the virtual network function or thepolicy for providing the service. If the request for the update isreceived, the method 300 proceeds to step 355. Otherwise, the method 300either returns to step 310, or to step 399 to end the process.

In optional step 355, the processor, performs the update in accordancewith the request. For example, the processor updates a database thatcontains the latest policies associated with the home network.

In optional step 360, the processor, notifies the home network when theupdating is performed. Then, the processor either returns to step 310,or to step 399 to end the process.

FIG. 4 illustrates a flowchart of an example method 400 for providingvirtual network functions and performing modifications in accordancewith the present disclosure. In one embodiment, the method 400 may beimplemented in a controller of a visited network of a wireless serviceprovider, e.g., an MME, or the processor 502 as described in FIG. 5. Themethod 400 starts in step 405 and proceeds to step 410.

In step 410, the processor of a first wireless service provider,monitors one or more virtual network functions for a second wirelessservice provider that are instantiated in a network operated by thefirst wireless service provider. In step 420, the processor, monitorsroaming user endpoint devices that are associated with the secondwireless service provider and that are registered to receive one or moreservices in the visited network of the first wireless service providerthrough the one or more virtual network functions.

In step 430, the processor, determines whether a threshold forperforming a modification to one or more VNFs is reached for the secondwireless service provider associated with the one or more virtualnetwork functions. For example, the threshold associated with the one ormore virtual network functions may be reached due to movements ofregistered user endpoint devices, new attach requests, handovers,updates to policies for providing services to roaming user endpointdevices being received from the second wireless service provider,updates to policies for instantiating new virtual network functionsbeing received from the second wireless service provider, and the like.If the query is determined positively, the method proceeds to step 440,otherwise, the method returns to step 410.

In step 440, the processor, performs the modification when the thresholdis reached. For example, the threshold may be for expanding a size of anexisting VNF. The modification may then be made according to apredetermined policy or template. In another example, the modificationmay be to instantiate a new VNF at a location. The method 400 theneither returns to step 410, or to step 499 to end the process.

In one embodiment, a controller device, e.g., the MME, may be deployedas a hardware device embodied as a dedicated device (e.g., the dedicatedcomputer 500 as illustrated in FIG. 5). In one embodiment, thecontroller, e.g., MME, is configured to perform the methods andfunctions described herein (e.g., the method 300 or method 400 asdiscussed below).

In one example, the controller device, e.g., an MME, of the presentdisclosure is configured for receiving an attach request or a handoverfor a user endpoint device, wherein the visited network is operated by afirst wireless service provider, determining a home network for the userendpoint device, wherein the home network is operated by a secondwireless service provider, receiving a profile of the user endpointdevice, determining a policy for providing a service to the userendpoint device in accordance with the profile of the user endpointdevice, determining a set of virtual network functions needed forproviding the service to the user endpoint device in accordance with thepolicy for providing the service, granting the attach request or thehandover, designating for each virtual network function of the set ofvirtual network functions that is needed for providing the service, acorresponding virtual network function for serving the user endpointdevice at a location of the user endpoint device, and providing theservice to the user endpoint device via the set of virtual networkfunctions that is designated.

In another example, the controller device of a first wireless serviceprovider, e.g., an MME of the first wireless service provider, of thepresent disclosure is configured for monitoring one or more virtualnetwork functions that are instantiated for a second wireless serviceprovider of a home network, monitoring user endpoint devices that areassociated with the second wireless service provider and that areregistered to receive a service through the one or more virtual networkfunctions, determining a threshold for performing a modification isreached for the second wireless service provider associated with the oneor more virtual network functions, and performing the modification.

In one embodiment, the network 102 may include a controller (broadly acontroller device), and a database. For example, the controller may bedeployed as a hardware device embodied as a dedicated database server(e.g., the dedicated computer 500 as illustrated in FIG. 5). In oneembodiment, the controller, e.g., MME of the visited network, isconfigured to perform the methods and functions described herein (e.g.,the method 300 or method 400 discussed below). For example, the visitednetwork service provider may dynamically provide the necessary virtualnetwork functions on behalf of a home network service provider, bymonitoring its own network resources and the registered roaming userendpoint devices, thereby making the necessary modifications (e.g.,instantiating or modifying one or more VNFs). In turn, the virtualnetwork functions improve how a roaming user will access services whileroaming in a location serviced by a visited network.

It should be noted that the networks 100 and 200 may include additionalnetworks and/or elements that are not shown to simplify FIG. 1 and FIG.2. For example, the access networks and the public land mobile networksof FIG. 1 and FIG. 2 may include additional network elements (notshown), such as for example, base stations, border elements, gateways,firewalls, routers, switches, call control elements, various applicationservers, and the like.

In addition various types of data may be stored in any number ofdatabases. For instance, user profiles, policies of various wirelessservice providers, agreements with various service providers, parametersand thresholds for providing the virtual network functions, may bestored in various databases, e.g., a separate database. In addition, thevarious types of data may be stored in a cloud storage. In other words,the first network service provider may implement the service forproviding virtual network functions of the present disclosure byutilizing distributed controllers, and storing data in a cloud storageand/or a centralized server.

In addition, although not specifically specified, one or more steps,functions or operations of method 300 or method 400 may include astoring, displaying and/or outputting step as required for a particularapplication. In other words, any data, records, fields, and/orintermediate results discussed in the method can be stored, displayedand/or outputted either on the device executing the method or to anotherdevice, as required for a particular application.

Furthermore, steps, blocks, functions or operations in FIG. 3 or FIG. 4that recite a determining operation or involve a decision do notnecessarily require that both branches of the determining operation bepracticed. In other words, one of the branches of the determiningoperation can be deemed as an optional step. Moreover, steps, blocks,functions or operations of the above described method 300 or 400 can becombined, separated, and/or performed in a different order from thatdescribed above, without departing from the example embodiments of thepresent disclosure. It should be noted that the above described methodcan be deployed with various different implementations. For example, thereceiving profiles or policies may be performed via a dedicatedcomputer.

In one example, the present method for providing virtual networkfunctions of the present disclosure is implemented via a dedicateddatabase server. For example, in one embodiment, the method of thepresent disclosure is implemented via a dedicated controller, e.g., MME131, for dynamically providing the virtual network functions. Thededicated controller, e.g., MME, is operated and managed by a networkservice provider. For example, the first network service provider mayoperate one or more communications networks to provide one or moreservices such as telephony services, cellular services, data services(e.g., data access and transfer services, Internet access services, andthe like), multimedia delivery services (e.g., multimedia programmingdelivery services such as movies, videos, music and the like), and thelike.

As such, the present disclosure provides at least one advancement in thetechnical field of providing virtual network functions for a roaminguser endpoint device. This advancement improves the ability of theroaming user endpoint device to utilize services without incurring pooruser experience such as delay and jitter associated with roamingservices. For example, the roaming user endpoint device is able toaccess services as if the user was receiving the services directly fromthe home network, e.g., with a same QoS as the home network of the userendpoint device.

FIG. 5 depicts a high-level block diagram of a computer suitable for usein performing the functions described herein. As depicted in FIG. 5, thesystem 500 comprises one or more hardware processor elements 502 (e.g.,a central processing unit (CPU), a microprocessor, or a multi-coreprocessor), a memory 504, e.g., random access memory (RAM) and/or readonly memory (ROM), a module 505 for providing virtual network functions,and various input/output devices 506 (e.g., storage devices, includingbut not limited to, a tape drive, a floppy drive, a hard disk drive or acompact disk drive, a receiver, a transmitter, a speaker, a display, aspeech synthesizer, an output port, an input port and a user inputdevice (such as a keyboard, a keypad, a mouse, a microphone and thelike)). Although only one processor element is shown, it should be notedthat the computer may employ a plurality of processor elements.Furthermore, although only one computer is shown in the figure, if themethod 300 or method 400 as discussed above is implemented in adistributed or parallel manner for a particular illustrative example,i.e., the steps of the above method 300 or method 400, or each of theentire method 300 or method 400 is implemented across multiple orparallel computers, then the computer of this figure is intended torepresent each of those multiple computers.

Furthermore, one or more hardware processors can be utilized insupporting a virtualized or shared computing environment. Thevirtualized computing environment may support one or more virtualmachines representing computers, servers, or other computing devices. Insuch virtualized virtual machines, hardware components such as hardwareprocessors and computer-readable storage devices may be virtualized orlogically represented.

It should be noted that the present disclosure can be implemented insoftware and/or in a combination of software and hardware, e.g., usingapplication specific integrated circuits (ASIC), a programmable gatearray (PGA) including a Field PGA, or a state machine deployed on ahardware device, a computer or any other hardware equivalents, e.g.,computer readable instructions pertaining to the method(s) discussedabove can be used to configure a hardware processor to perform thesteps, functions and/or operations of the above disclosed method 300 ormethod 400.

In one embodiment, instructions and data for the present module orprocess 505 for providing virtual network functions (e.g., a softwareprogram comprising computer-executable instructions) can be loaded intomemory 504 and executed by hardware processor element 502 to implementthe steps, functions or operations as discussed above in connection withthe illustrative method 300 or method 400. Furthermore, when a hardwareprocessor executes instructions to perform “operations,” this couldinclude the hardware processor performing the operations directly and/orfacilitating, directing, or cooperating with another hardware device orcomponent (e.g., a co-processor and the like) to perform the operations.

The processor executing the computer readable or software instructionsrelating to the above described method can be perceived as a programmedprocessor or a specialized processor. As such, the present module 505for providing virtual network functions (including associated datastructures) of the present disclosure can be stored on a tangible orphysical (broadly non-transitory) computer-readable storage device ormedium, e.g., volatile memory, non-volatile memory, ROM memory, RAMmemory, magnetic or optical drive, device or diskette and the like.Furthermore, a “tangible” computer-readable storage device or mediumcomprises a physical device, a hardware device, or a device that isdiscernible by the touch. More specifically, the computer-readablestorage device may comprise any physical devices that provide theability to store information such as data and/or instructions to beaccessed by a processor or a computing device such as a computer or anapplication server.

While various embodiments have been described above, it should beunderstood that they have been presented by way of example only, and nota limitation. Thus, the breadth and scope of a preferred embodimentshould not be limited by any of the above-described exemplaryembodiments, but should be defined only in accordance with the followingclaims and their equivalents.

What is claimed is:
 1. A method comprising: receiving, via a processorof a visited network, an attach request or a handover for a userendpoint device, wherein the visited network is operated by a firstwireless service provider; determining, via the processor, a homenetwork for the user endpoint device, wherein the home network isoperated by a second wireless service provider; obtaining, via theprocessor, a default profile associated with the home network of theuser endpoint device; determining, via the processor, a policy forproviding a service to the user endpoint device in accordance with thedefault profile associated with the home network of the user endpointdevice; determining, via the processor, a set of virtual networkfunctions needed for providing the service to the user endpoint devicein accordance with the policy for providing the service; granting, viathe processor, the attach request or the handover; designating, via theprocessor, for each virtual network function of the set of virtualnetwork functions that is needed for providing the service, acorresponding virtual network function for serving the user endpointdevice at a location of the user endpoint device; and providing, via theprocesser, the service to the user endpoint device via the set ofvirtual network functions that is designated.
 2. The method of claim 1,wherein the determining the set of virtual network functions comprises:determining for each virtual network function of the set of virtualnetwork functions that is needed for providing the service, whether acorresponding existing virtual network function is available forproviding the service to the user endpoint device at the location of theuser endpoint device; and instantiating a new virtual network functionor modifying the corresponding existing virtual function for eachvirtual network function of the set of virtual network functions that isneeded for providing the service, when the corresponding existingvirtual network function is determined as being unavailable.
 3. Themethod of claim 1, wherein the policy for providing the service is at alevel selected from at least one of: an international mobile subscriberidentity series level, a public land mobile network level, and an accesspoint name level.
 4. The method of claim 1, wherein the policy forproviding the service comprises an indication as to how traffic to andfrom the user endpoint device is to be treated.
 5. The method of claim4, wherein the indication is based on one or more of: a type of userassociated with the user endpoint device, a type of service beingaccessed, and a quality of service requirement.
 6. The method of claim2, wherein the instantiating is performed in accordance with at leastone policy for providing a virtual network function received for thehome network of the user endpoint device.
 7. The method of claim 6,wherein the determining whether the corresponding existing virtualnetwork function is available is based on the location of the userendpoint device, the policy for providing the service, and the at leastone policy for providing the virtual network function received from thehome network of the user endpoint device.
 8. The method of claim 6,wherein the at least one policy for providing the virtual networkfunction and the policy for providing the service are stored in acentral repository.
 9. The method of claim 6, wherein the at least onepolicy for providing the virtual network function and the policy forproviding the service are configurable in a network element of the firstwireless service provider.
 10. The method of claim 6, wherein the atleast one policy for providing the virtual network function comprisesone or more of: a parameter for triggering an instantiation of the newvirtual network function, a parameter for triggering a modification ofthe corresponding existing virtual network function, a threshold fortriggering the instantiation of the new virtual network function, athreshold for triggering the modification of the corresponding existingvirtual network function, a parameter to be provided to a networkelement that performs an orchestration of a virtual network function,and a threshold to be provided to the network element that performs theorchestration of the virtual network function.
 11. The method of claim6, wherein the at least one policy for providing the virtual networkfunction is based on an attribute of the service provided to the userendpoint device.
 12. The method of claim 6, wherein the at least onepolicy for providing the virtual network function comprises a pluralityof policies, wherein each policy of the plurality of policies isestablished for a range of a number of concurrently attached userendpoint devices at the location of the user endpoint device.
 13. Themethod of claim 6, further comprising: receiving, via the processor, arequest for an update from the home network of the user endpoint device,wherein the request is for updating the at least one policy forproviding the virtual network function or the policy for providing theservice; performing, via the processor, the update in accordance withthe request; and notifying, via the processor, the home network of theuser endpoint device that the updating is performed.
 14. The method ofclaim 1, wherein each virtual network function of the set of virtualnetwork functions that is needed for providing the service comprises oneor more of: a virtual serving gateway, a virtual packet data networkgateway, a virtual policy and charging rule function, a virtual domainname server, and a virtual mobility management entity.
 15. The method ofclaim 2, wherein the instantiating is performed in a data centerassociated with the first wireless service provider.
 16. The method ofclaim 2, wherein the instantiating is performed via an orchestrator or aunified element management system.
 17. A non-transitorycomputer-readable storage device storing a plurality of instructionswhich, when executed by a processor of a visited network, cause theprocessor to perform operations, the operations comprising: receiving anattach request or a handover for a user endpoint device, wherein thevisited network is operated by a first wireless service provider;determining a home network for the user endpoint device, wherein thehome network is operated by a second wireless service provider;obtaining a default profile associated with the home network of the userendpoint device; determining a policy for providing a service to theuser endpoint device in accordance with the default profile associatedwith the home network of the user endpoint device; determining a set ofvirtual network functions needed for providing the service to the userendpoint device in accordance with the policy for providing the service;granting the attach request or the handover; designating for eachvirtual network function of the set of virtual network functions that isneeded for providing the service, a corresponding virtual networkfunction for serving the user endpoint device at a location of the userendpoint device; and providing the service to the user endpoint devicevia the set of virtual network functions that is designated.
 18. Thenon-transitory computer-readable storage device of claim 17, wherein thedetermining the set of virtual network functions comprises: determiningfor each virtual network function of the set of virtual networkfunctions that is needed for providing the service, whether acorresponding existing virtual network function is available forproviding the service to the user endpoint device at the location of theuser endpoint device; and instantiating a new virtual network functionor modifying the corresponding existing virtual function for eachvirtual network function of the set of virtual network functions that isneeded for providing the service, when the corresponding existingvirtual network function is determined as being unavailable.
 19. Thenon-transitory computer-readable storage device of claim 17, wherein thepolicy for providing the service is at a level selected from at leastone of: an international mobile subscriber identity series level, apublic land mobile network level, and an access point name level.
 20. Adevice comprising: a processor of a visited network; and acomputer-readable medium storing instructions which, when executed bythe processor, cause the processor to perform operations, the operationscomprising: receiving an attach request or a handover for a userendpoint device, wherein the visited network is operated by a firstwireless service provider; determining a home network for the userendpoint device, wherein the home network is operated by a secondwireless service provider; obtaining a default profile associated withthe home network of the user endpoint device; determining a policy forproviding a service to the user endpoint device in accordance with thedefault profile associated with the home network of the user endpointdevice; determining a set of virtual network functions needed forproviding the service to the user endpoint device in accordance with thepolicy for providing the service; granting the attach request or thehandover; designating for each virtual network function of the set ofvirtual network functions that is needed for providing the service, acorresponding virtual network function for serving the user endpointdevice at a location of the user endpoint device; and providing theservice to the user endpoint device via the set of virtual networkfunctions that is designated.